#ifndef _RAGEINCTABLE_H_
#define _RAGEINCTABLE_H_
#include "SimpleRefection.h"
#include "MgrBase.h"

struct RageIncItem:public ReflectionBase
{
	DECL_REFLECTION(RageIncItem,"../../config/RageIncTable.xml");
	int32 m_iID;
	int32 m_iAddRage;
	rewrite virtual void OnArchieveReaded(){};
};
typedef DefMangerTpl<RageIncItem> __RageIncTable;


class RageIncTable:public __RageIncTable
{
public:
	static RageIncTable& Instance()
	{
		static RageIncTable _instance;
		return _instance;
	}
	inline uint32 GetRageAdd(int32 iPercent){ if(iPercent<0||iPercent>100) return 0; return m_vAddRages[iPercent]; }
	virtual void OnArchieveReaded();
private:
	RageIncTable(){}
	uint32 m_vAddRages[101];
};

struct HeroRageIncItem:public ReflectionBase
{
	DECL_REFLECTION(HeroRageIncItem,"../../config/HeroRageIncTable.xml");
	int32 m_iID;
	int32 m_iAddRage;
	rewrite virtual void OnArchieveReaded(){};
};
typedef DefMangerTpl<HeroRageIncItem> __HeroRageIncTable;
class HeroRageIncTable:public __HeroRageIncTable
{
public:
	static HeroRageIncTable& Instance()
	{
		static HeroRageIncTable _instance;
		return _instance;
	}
	inline uint32 GetRageAdd(int32 iPercent){ if(iPercent<0||iPercent>100) return 0; return m_vAddRages[iPercent]; }
	virtual void OnArchieveReaded();
private:
	HeroRageIncTable(){}
	uint32 m_vAddRages[101];
};
#endif